/***********************************************************************
 * Module:  State.java
 * Author:  Nikola
 * Purpose: Defines the Class State
 ***********************************************************************/

package genedit.controller;

import genedit.view.graph.GraphWorkArea;

import java.awt.event.KeyEvent;
import java.awt.event.MouseEvent;
import java.awt.event.MouseWheelEvent;
import java.awt.event.WindowEvent;

public abstract class State {
	protected GraphWorkArea context;

	/** @param context */
	public State(GraphWorkArea context) {
		this.context = context;
	}

	/** @param e */
	public void mouseClicked(MouseEvent e) {
		// TODO: implement
	}

	/** @param e */
	public void mousePressed(MouseEvent e) {
		// TODO: implement
	}

	/** @param e */
	public void mouseReleased(MouseEvent e) {
		// TODO: implement
	}

	/** @param e */
	public void mouseDragged(MouseEvent e) {
		// TODO: implement
	}

	/** @param e */
	public void mouseEntered(MouseEvent e) {
		// TODO: implement
	}

	/** @param e */
	public void mouseExited(MouseEvent e) {
		// TODO: implement
	}

	/** @param e */
	public void mouseMoved(MouseEvent e) {
		// TODO: implement
	}

	/** @param e */
	public void mouseWheelMoved(MouseWheelEvent e) {
		// TODO: implement
	}

	/** @param e */
	public void keyPressed(KeyEvent e) {
		// TODO: implement
	}

	/** @param e */
	public void keyReleased(KeyEvent e) {
		// TODO: implement
	}

	/** @param e */
	public void keyTyped(KeyEvent e) {
		// TODO: implement
	}

	/** @param e */
	public void windowGainedFocus(WindowEvent e) {
		// TODO: implement
	}

	/** @param e */
	public void windowLostFocus(WindowEvent e) {
		// TODO: implement
	}

	/** @param e */
	public void windowStateChanged(WindowEvent e) {
		// TODO: implement
	}

	/** @param e */
	public void windowActivated(WindowEvent e) {
		// TODO: implement
	}

	/** @param e */
	public void windowClosed(WindowEvent e) {
		// TODO: implement
	}

	/** @param e */
	public void windowClosing(WindowEvent e) {
		// TODO: implement
	}

	/** @param e */
	public void windowDeactivated(WindowEvent e) {
		// TODO: implement
	}

	/** @param e */
	public void windowDeiconified(WindowEvent e) {
		// TODO: implement
	}

	/** @param e */
	public void windowIconified(WindowEvent e) {
		// TODO: implement
	}

	/** @param e */
	public void windowOpened(WindowEvent e) {
		// TODO: implement
	}

	/** @pdGenerated default parent getter */
	public GraphWorkArea getContext() {
		return context;
	}

	/**
	 * @pdGenerated default parent setter
	 * @param newGraphWorkArea
	 */
	public void setContext(GraphWorkArea newGraphWorkArea) {
		this.context = newGraphWorkArea;
	}

}